查看原文
其他

这位最受美国读者欢迎的编程教授说,取代数学的这项核心技能孩子越早学越好

2017-06-08 张燃 外滩教育

看点  利用编程让计算机代替我们解决问题,听起来是个“高大上”的技能。但美国北乔治亚大学计算机科学系终身教授、亚马逊《教孩子学编程》畅销书作者Bryson Payne却说,其实编程就是下命令。在外滩君的采访中,他介绍了他是怎样引导2岁的孩子写出自己的程序。在他看来,学习编程,永远都不会晚,也永远不算早,家长不应小看自己,更不要小看孩子。访谈的最后,他给出了3条启蒙编程的建议,帮助家长教会孩子这项可以解决任何问题的技能。


文丨张燃    编辑丨李臻


上世纪80年代,编程在大多数眼中,只是一门技术、顶多算一份工作,而现在,越来越多的人开始意识到编程其实是通过释放创造力来解决问题的一种方式,而解决问题的能力已成为一切素养的根本。如今也有越来越多的父母在丰富孩子童年的选择中,相中了编程这项最时髦的技能。


事实上,儿童学编程的话题并不算新鲜,而近些年在海外,针对儿童的编程软件也是层出不穷。但究竟怎么学编程,才能既好玩又学到东西呢?外滩君特地请教了一位行家。



Bryson Payne是美国北乔治亚大学(UNG)计算机科学系终身教授,他同时还是一名经认证的信息系统安全专家。自1998年起,他任教于计算机科学系,曾担任UNG计算机科学系第一个系主任。不过,和那些成天在象牙塔里搞研究的学究不同,佩恩博士在148个国家开发了在线编程课程,如今已有超过20,000名学生参与其中学习。


除此之外,他的另一个身份是亚马逊畅销书《教孩子学编程(Python语言版)》的作者,这是一本给家长或老师教孩子使用Python进行基础程序设计的入门图书,并且已被翻译成5种语言在不同的国家出版。


说起他是如何想到写下这本给孩子的编程书时,佩恩博士给外滩君讲了一个小故事:


这完全是偶然发生的。我在大学给我的学生们上课的时候,为了帮助他们更好的学习和理解编程,总是会从教他们编写一些形象的图形程序开始。有一天,我正在家里批改学生们的编程作业,我的儿子Alex看到了。他觉得这些变化多端的图形非常有意思,坚持要坐在我的腿上看我工作,那个时候Alex才四岁。


然后Alex看着电脑屏幕上由代码生成的这些图形说,爸爸,可不可以让这个图形有更多的颜色?可不可以让这个图形动起来?我说,当然可以。于是我修改了一些程序,让他看这些代码是如果实现他的想法的。


几个月以后,他跟我一起大概编写了30个不同的程序。我突然想到,为什么不把与他一起编程的过程写下来呢?这可以成为一本给家长和孩子的编程指导书,让孩子们可以在小学和中学的时候就可以接触和学习编程。也能让那些没有机会去学习编程的孩子,立刻就可以开始学习。


于是我就把它写了下来,给了一个出版社。 出版社也给了我很好的反馈,他们很喜欢这本书。


佩恩教授说,他教学生们学习编程的方式,和他自学的方式很接近。他会抛给学生们一些有趣的问题,然后让学生自己用代码去解决。


而对孩子们来说,编程就像是一个创造工具,使孩子们可以轻松创造出自己的动画、游戏、绘画、科学试验、机器人控制。“就像乐高,你可以用代码不停的去搭建新的、属于你自己的东西。”


在佩恩教授眼里,不了解编程的人总是会认为编程是件很难,很复杂的学科。他强调,其实编程并不难,反而是有趣的、易入门的。


编程到底是什么?


佩恩教授在大学任教于计算机科学系,已进入第19个年头了。但看着坐在眼前的佩恩教授认真地讲述着关于编程的种种,聊到兴奋处,他的语调还会稍稍上扬,外滩君能强烈感受到他对编程一直葆有的原始热情。


于是我忍不住地抛出了一个最为朴素的问题,编程到底是什么?


佩恩教授回答说,编程就是由你来告诉电脑它该做什么,实际上是一个给予电脑指令的过程。


“当我在美国的中小学教编程的时候,我问孩子们有没有尝试让自己的弟弟或妹妹去做什么事。他们回答说,有啊,但弟弟妹妹从来都不听话。我接着对他们说,当你们让一台计算机去做一件事的时候,它会完全照你说的去做哦。于是他们就开始觉得编程是一件很酷的事,因为他们可以建立自己的APP,程序、图形、游戏...也就是说,你是用你自己的创造力,决定计算机要做什么的人。”他说道。


80年代的美国如何看待编程?


佩恩教授13岁那年,得到了人生中第一台电脑。那是台Commander 64 ,在1980年是极好的电脑。在那个年代,并没有多少计算机的课程,佩恩教授的妈妈买了些相关的杂志和书给他,还在上初中的佩恩教授就这样开始自学编程了。


“当时我真的是把杂志和书上的每一个编程案例都挨个学习和实践了一遍。有了一些基础以后,我开始尝试做些改变,去修改部分代码,创造出新的属于我的程序。我就是这样学习编程的,尤其是改变那些程序,把他们完全变成我想要的样子,这个过程真的非常有趣且吸引我。”


外滩君不禁好奇,在那个年代的美国,人们是如何看待编程和计算机的?


佩恩教授说,在80年代初的时候,编程的确不是一项流行的技能。人们想到编程或者计算机,首先想到的是它们是被应用于像IBM这样的大型企业。“但到了80年代末,当我在读大学的时候,我已经看到很多人在学习编程,并因此得到了很棒的工作。”


世界永远需要解决问题的人


如今,美国计划10年普及中小学生编程教育、英国规定5岁以上儿童必须学习电脑编程课程、新加坡将在今年把编程纳入小学考试范围。很明显地,越来越多的国家开始重视编程教育。代码已被公认为未来世界的通用语言,编程也被视为未来社会的基本技能。


佩恩教授说道,“是的,计算机现在已经成为我们日常生活中不可分割的一部分。编程无所不在,几乎存在于一切电子设备里。手机、平板电脑、3D打印机、无人机...在过去的3年里,美国大学里学习计算机科学的学生有超过两倍的增长。因为任何你想从事的工作,都会有一部分和计算机挂钩。”


越来越多的人选择学习编程,还有很重要的一个原因是,人们已经开始发现编程并不只是一个独自坐在办公室里敲代码的工作。佩恩教授说, “我们都清楚,世界永远需要问题解决者, 而现在许多待被解决的问题,需要的是一个巨大的程序员团队:开发APP、研究人工智能、收集大数据、将不同领域人们的技能结合到一起...这也是为什么对我而言,编程如此有趣。”


佩恩教授还补充道,在你编程的时候,其实每时每刻都是在解决新的问题,你逐渐会成为一个优秀的问题解决者,这也是保障自身未来竞争力的好办法。


计算机科学是各门学科的助力器


佩恩教授强调,编程除了可以让孩子成为一个善于解决问题的人,其实它还可以帮助任何兴趣和学科都在计算机科学中找到助力器。


“我有一位学生非常有艺术才能,他希望通过编程进行一些图案或视频上的艺术创作。我也曾指导过学工程学的学生,他希望利用编程加快数据的处理。我还曾和一位喜欢工程和建筑的学生一起制作机器人、无人机。 ”


佩恩教授的《教孩子学编程》出版以后,他从美国的家长那里也得到了很多反馈。


那些孩子才八九岁的家长,跟着佩恩教授的书已经线上课程学习了如何去编程,当孩子学校举行一些科学或其他学科项目的时候,他们可以编写他们自己的图形或者图表,甚至编写一个简单的机器人程序去做一些事情。


佩恩教授对此感到很欣慰,“这些孩子的老师和同学都觉得他们非常厉害,我也很开心自己做的事情是有意义的。”


上个世纪,解决问题技能的核心是数学,而佩恩教授认为,随着时代和科技的发展,在许多行业里,编程将成为一项新的核心技能。


“不论你以后学习什么从事什么工作,编程都是一种你需要掌握的能力。在未来,我们会有越来越多的计算机,包括微型计算机。这些计算机会从我们早上睁开眼的那一刻开始,贯穿着我们每天的生活。而理解这些设备是如何运作的人们,将会成为职场和社会上最有竞争力和最受欢迎的人。”



B=外滩教育 P=佩恩博士


B:从您这么多年的教学经验来看,孩子什么时候开始学习编程比较合适?


P:当孩子可以读,会一丁点加减法就可以开始学习编程了。


我有两个儿子,我在他们可以辨认字母和数字的时候就开始教他们编程了,当时他们分别2岁和4岁。尽管他们那么小,他们还是可以写下他们自己的程序。


比如我的儿子Alex喜欢各种各样的颜色,他想要编写一个可以制造出各种不同颜色的程序,所以我会鼓励他说,来我们开始编写吧。首先,打一个red。他就会用他的小手在键盘上打出R-E-D,屏幕就全都变成红色的了。他会很兴奋地对我说,真是太酷了! 并且愿意继续和我一起探索和学习下去。


我的小儿子Max非常喜欢数学问题,他开始学习编程的时候才2岁。方形螺旋是一个非常酷的可视图形,我在电脑上编写方形螺旋的相关程序时,Max看到了,然后他说,四边形很有趣,但是可不可以把它变成六边形呢?所以我们一起把代码里的90°改为60°,角度改变了,所以屏幕上的图形改变了。Max觉得这非常神奇,尽管他的小手只能写1到9的数字,但是他可以做到。


现在他们一个7岁,一个9岁。9岁的Alex已经可以独立编写一个基本程序了。


编程是一门启发性的学科,可以提升孩子解决问题的能力,培养他们的逻辑思维。因此,学习编程,越早越好。我觉得小学的是孩子开始学习编程的最好时候。等到孩子进入到中学,孩子会懂得更多抽象思维,他们就可以开始花大量的时间去钻研和解决的一些复杂的编程问题了,因为这个时候孩子的大脑是运转最快的时候,也是学习东西最快的时候。


学习编程,永远都不会晚,也永远不会早。


B:为什么选择Python作为孩子的入门编程语言?


P:Python是世界上最流行的计算机语言之一,谷歌、IBM、亚马逊、阿里巴巴等诸多网络科技公司都在使用Python。


Python可以在多种操作系统上运行,例如MAC,windows,Linux,Raspberry Pi,Android...它还是免费的,如果你想开始学习,现在就可以立刻下载。


不过更重要的是,相比Java和C++等其他编程语言,Python是更容易理解和入门的,孩子们可以轻松编写和修改自己写的程序。Python 很容易去读和写,它是非常的简洁但又具有力量的编程语言,只需要几行的Python代码,就可以做一些可能在java上需要写二三十行、C++上需要写五十行的动作。


我经常会跟我的两个儿子一起用Python写一些很短的程序,尽管他们才几岁,但他们是有能力写5行或者10行代码的,并且在屏幕上创造出一些真正有趣的东西。也因此,他们不会觉得坐在电脑前编程是无趣的。


很多其他的编程语言,需要很复杂的代码去指挥电脑去做一些事情,而Python可能只需要5行代码,孩子们就可以编写出一些漂亮的可视图像在电脑上。


B:现在有很多游戏化的编程教学软件,他们可以帮助孩子很快激发学习编程的兴趣。但有报道说,零门槛的软件可能无法达到计算机科学的精髓,往往浮于表面,您怎么看?


P:对于介绍编程理念,引导孩子入门编程,激发孩子学习编程的兴趣,CodeMonkey和Scratch这种游戏化的编程教学软件是很好的。但是在兴趣被激发后,孩子们总会想要创造属于他们自己的、真正基于文本的程序。


像CodeMonkey或Scratch,孩子们的确可以在电脑上用这些软件做很多动作,但都只是预先封装好的语言,命令都是设置好的。而Python,是一种真正的编程语言,你可以利用它做任何计算机能做的事情。你可以编写一个 社交APP,联结世界各地的人。你可以编写一个视频程序,从你的相机中抓取照片和视频。你可以大开脑洞,尽情地创造,没有任何界限。


对于尝试过CodeMonkey或Scratch的孩子,或者从来都没有接触过编程的孩子来说,像Python这种于易于上手、代码可读性强的编程语言是一个非常好的选择。


孩子可以因此了解到一台真正的计算机是如何运作的,就像在做一份真实的工作。他们可以用Python创造出一个真正的程序,然后和全世界的人交流和分享。


B:您教学生计算机有19年了,您认为初学者或者说年龄较小的孩子在学习时会遇到什么样的问题?


P:其实我认为拼写错误是学习Python唯一会遇到的问题。这是很多学生都会碰到的,不分年龄。


计算机会做任何你让它做的事,但是前提是你说的话它能听懂,计算机是无法理解错误的编程语言的。但是Python在这个问题上也是有一个优势的,它会告诉你哪个词它无法理解,然后帮助你找到你的错误。


B:很多家长他们已经意识到编程很重要了,但他们没有任何编程背景,他们可以在家教孩子编程吗?如何教?


P:当然可以。我的这本书和在线课程,对父母来说是足够简单的,就算他们以前从来都没有接触过编程。通过书或者在线课程,他们一定能够引导和教他们的孩子开始学习编程的。


但事实上,很多家长对我说,他们只是帮孩子下载好软件,设置好电脑,孩子就根据线上课程或者书本自己开始学习了。这也是我为什么写《teach your kid to code》(教孩子学编程),我想这本书对家长来说是足够简单去和他们的孩子一起开始编程,而对孩子来说是足够有趣并且吸引他们独自学下去的。


家长们现在就去下载Python,然后写下一行短短的程序,你们会发现,编程真的很简单,你可以做到,你就知道了怎样去引导你的孩子开始学习编程。


不要小看自己,更不要小看你的孩子。孩子学习东西真的太快了,很多时候比家长学的还快。


我的儿子在做一些创意编程的时候,在一些情况下,比我做得还好。 孩子是有能力学习新的东西的,家长需要做的就是让他们现在就开始去做。找到一台电脑,向他们展示一些如何去编程的知识,一旦开始了,他们自己会继续学习,因为他们会发现他们可以随心所欲的创造出有趣的东西。


我听说有的孩子完成了我书中的每一个例题之后,他们就会提出他们自己的idea,做了一个新的APP。


B:当家长教他们的孩子学习编程的时候,你有什么建议吗?


P:我有三点建议:


1. 现在就开始。


不管他们的孩子多大,他们一定可以从编程里学习到一些东西。编程不仅仅是一个能够帮助孩子应对未来的实用技能,他还可以培养孩子的逻辑思维、解决问题的能力,成为释放孩子创造力的出口。


2. 学习任何东西,兴趣都是非常重要的。


家长可以带领孩子尝试各种类型的编程实例,找到他们的兴趣所在。如果你的孩子更喜欢视觉上的东西,例如多样的图形、色彩斑斓可视图像,就可以引导他们做一些形象的程序。如果他们喜欢单词游戏、数学游戏, 家长可以带领他们往这方面进行探索。找到他们自己的兴趣之后,孩子才会主动去学习,并且享受编程的乐趣。


3. 鼓励他们的孩子去尝试新的东西,鼓励孩子去改变代码,创造属于自己的程序。


比如我的小儿子,他喜欢正方形,我会告诉他,你可以改变一个数字,看看图形有什么变化?通过在孩子已经掌握的程序里做一些很小的改变,他们可以创造出新的东西,并成为这个新程序的创造者。他们可以感受到自己能够灵活运用和控制自己学到的东西,这是一件非常能够激发他们学习动力的事情。



此次佩恩教授首次来到中国

为外滩教育独家开发

适合8-16岁孩子的在线课

 《Python 编程入门课》


7堂视频录播课,

50个案例,

即买即学!


7月3日-7月12日

另开设微信群助教答疑


限量300人

报完即止!


这个暑假

跟随佩恩教授带领孩子

进入真实的编程世界!


点击下图

了解更多优惠



点击阅读原文,进外滩教育微店购买

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存